package com.eastfair.certificate.dto;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.eastfair.core.base.entity.Entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.io.Serializable;

/**
 * <p>
 * 实体类
 * 制证模板详情
 * </p>
 *
 * @author ligang
 * @since 2023-05-25
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value = "BadgeTemplateDetailSaveDTO", description = "制证模板详情")
public class BadgeTemplateDetailSaveDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 模板id
     */
    @ApiModelProperty(value = "模板id")
    private Long templateId;
    /**
     * 字段
     */
    @ApiModelProperty(value = "字段")
    @Size(max = 255, message = "字段长度不能超过255")
    private String field;
    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    @Size(max = 255, message = "名称长度不能超过255")
    private String name;
    /**
     * 值类型
     */
    @ApiModelProperty(value = "值类型")
    @Size(max = 255, message = "值类型长度不能超过255")
    private String valueType;
    /**
     * 前缀
     */
    @ApiModelProperty(value = "前缀")
    @Size(max = 255, message = "前缀长度不能超过255")
    private String prefixField;
    /**
     * 字段值
     */
    @ApiModelProperty(value = "字段值")
    @Size(max = 255, message = "字段值长度不能超过255")
    private String value;
    /**
     * 上侧距离
     */
    @ApiModelProperty(value = "上侧距离")
    private Double topSize;
    /**
     * 左侧距离
     */
    @ApiModelProperty(value = "左侧距离")
    private Double leftSize;
    /**
     * 打印宽度(会控制换行)
     */
    @ApiModelProperty(value = "打印宽度(会控制换行)")
    @Size(max = 128, message = "打印宽度(会控制换行)长度不能超过128")
    private String printRangeWidth;
    /**
     * 打印高度(会控制显示的高度)
     */
    @ApiModelProperty(value = "打印高度(会控制显示的高度)")
    @Size(max = 128, message = "打印高度(会控制显示的高度)长度不能超过128")
    private String printRangeHeight;
    /**
     * 字体大小
     */
    @ApiModelProperty(value = "字体大小")
    private Integer size;
    /**
     * 是否下滑线 1代表有下划线,0代表无下划线
     */
    @ApiModelProperty(value = "是否下滑线 1代表有下划线,0代表无下划线")
    private Integer underline;
    /**
     * 是否斜体 1斜体 0不斜体
     */
    @ApiModelProperty(value = "是否斜体 1斜体 0不斜体")
    private Integer tilt;
    /**
     * 是否粗体 1代表粗体,0代表非粗体
     */
    @ApiModelProperty(value = "是否粗体 1代表粗体,0代表非粗体")
    private Integer thickening;
    /**
     * 左右靠齐方式 1左靠齐, 2居中,3右靠齐
     */
    @ApiModelProperty(value = "左右靠齐方式 1左靠齐, 2居中,3右靠齐")
    private Integer textToLcr;
    /**
     * 样式内容
     */
    @ApiModelProperty(value = "样式内容")
    private String styleTxt;
    /**
     * 是否删除：1是；0否
     */
    @ApiModelProperty(value = "是否删除：1是；0否")
    private Integer isDeleted;
    /**
     * 是否可用，1是；0否
     */
    @ApiModelProperty(value = "是否可用，1是；0否")
    private Integer isEnabled;
    /**
     * 做备注用,和业务无关,!!!禁止使用!!!
     */
    @ApiModelProperty(value = "做备注用,和业务无关,!!!禁止使用!!!")
    @Size(max = 65535, message = "做备注用,和业务无关,!!!禁止使用!!!长度不能超过65,535")
    private String remark1;
    /**
     * 租户id
     */
    @ApiModelProperty(value = "租户id")
    private Long tenantId;
    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    private Long projectId;
    /**
     * 团队id
     */
    @ApiModelProperty(value = "团队id")
    private Long teamId;
    /**
     * 子系统id
     */
    @ApiModelProperty(value = "子系统id")
    private Long subsystemId;

}
